package org.jeecg.modules.orderForm.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.persistence.Transient;

/**
 * @Description: 订单
 * @author： jeecg-boot
 * @date：   2021-03-30
 * @version： V1.0
 */
@Data
@TableName("order_form")
public class OrderForm implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**编号*/
	@TableId(type = IdType.AUTO)
	private Integer id;
	/**订单名称*/
	//@Excel(name = "订单名称", width = 15)
	private String orderName;
	/**订单号*/
	@Excel(name = "订单号", width = 20)
	private String orderNumber;
	/**订单类型
	 * 1：在线抢单
	 * 0：指派订单
	 * */
	@Excel(name = "订单类型", width = 20,dicCode="order_type")
	@Dict(dicCode = "order_type")
	private Integer orderType;
	/**接单金额*/
	@Excel(name = "接单金额", width = 15)
	private String takeMoney;
	/**要求*/
	@Excel(name = "要求", width = 15)
	private String demand;
	/**详细要求*/
	@Excel(name = "详细要求", width = 15)
	private String requirement;
	/**技术要求*/
	@Excel(name = "技术要求", width = 15)
	private String technical;
	/**费用*/
	@Excel(name = "费用", width = 15)
	private String cost;
	/**要求完成时间*/
	@Excel(name = "要求完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date finishTime;
	/**订单创建时间*/
	@Excel(name = "订单创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**订单创建人*/
	@Excel(name = "订单创建人", width = 15)
	private String createBy;
	/**订单创建人名称*/
	@Transient
	@TableField(exist = false)
	private String createByName;

	/**订单接单人(合作编号)*/
	@Excel(name = "合作编号", width = 15)
	private String takeOrders;
	/**所属子管理*/
	@Excel(name = "所属子管理", width = 15)
	private String takeManager;
	/**子管理提成比例*/
	@Excel(name = "子管理提成比例", width = 15)
	private String commissionRate;

	/**子管理提成金额*/
	@Excel(name = "子管理提成金额", width = 15)
	private String takeManagerMoney;
	/**
	 * 订单状态
	 0.进行中
	 1.已发货，待客户确认。
	 2.已交货，申请发货。
	 3.可申请结算。
	 4.订单不满意退款。
	 5.已结算。
	 6.待抢单
	 */
	@Excel(name = "订单状态", width = 15,dicCode = "order_status")
	@Dict(dicCode = "order_status")
	private Integer orderStatus;
	/**客户信息*/
	@Excel(name = "客户信息", width = 30)
	private String client;
	/**抢单时间*/
	@Excel(name = "抢单时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date grabTime;

	/**加价数量*/
	@Excel(name = "加价数量", width = 15)
	private String raiseNumber;

	/**抢单分类
	 * 1.代写文章，
	 * 2.ppt制作，
	 * 3.CAD，
	 * 4.商业计划书，
	 * 5.文章翻译
	 * */
	@Excel(name = "抢单分类", width = 30,dicCode="grab_type")
	@Dict(dicCode = "grab_type")
	private Integer grabType;

	/**子管理是否结算
	 *  0.未结算
	 * 	1.已结算
	 * */
	//@Excel(name = "合作编号", width = 20)
	@Dict(dicCode = "settlement_status")
	private Integer managerClose;

	/**结算推送标识
	 * 0未结算
	 * 1已结算
	 * 2申请结算
	 * 3可申请结算
	 * */
	@Dict(dicCode = "settlement_status")
	private Integer settlementStatus;


	/**结算截图路径*/
	private String closeImg;



}
